<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 浮点数舍入误差：
    // 当两边均为浮点数时（两边的操作数需不一样，但结果一样），比较出现false
    // 原因： 2个浮点数（不能转为整数的值）互相操作（加减乘除）产生误差
    // 而一个整数与浮点数操作不会产生误差

                    console.log(11111)/*!!! 有些会又误差，有些没有误差？？？*/

    // 但是一个整数与多个浮点数操作则有 误差，，因为一个整数操作浮点数之后结果变为了浮点数，所以又变成了浮点数之间的操作
    console.log(3.1 + 3.1 === 2.1 + 4.1);
    console.log((0.3 - 0.2) === (0.2 - 0.1));
    console.log((0.9 -0.5) === (2.0 - 1.6));
    // 判断是否有穷：
    var number100 = 100;
    console.log(isFinite(number100));
    // 只有0 / 0返回NaN,其他数/0返回Infinity
    console.log(0 / 0);
    console.log(2 / 0);
    // 是否是非数字：isNaN()
    console.log(isNaN(NaN));
    // 转为number
    // 1 10 NaN NaN
    console.log(Number(true), Number("10"), Number(undefined), Number(NaN));
    // parseInt(),parseFloat()类似
    // NaN 10 10 16
    console.log(parseInt("a10.a"), parseInt("010"), parseInt("10"), parseInt("0x10"));
    // 第二个参数为进制基数 2 8 11
    console.log(parseInt("0010", 2), parseInt("010", 8), parseInt("010", 11));
</script>
</body>
</html>